#ifndef ADDROOMCOMMAND_H
#define ADDROOMCOMMAND_H

#include <QGraphicsScene>
#include <QUndoCommand>
#include "gwrectangle.h"
#include "gwdetector.h"
#include "gwscene.h"
#include "GwGraphics_global.h"
#include "gwtext.h"



class GWGRAPHICS_EXPORT AddRoomCommand : public QUndoCommand
{
public:
    AddRoomCommand(GwScene *scene);
    ~AddRoomCommand();

private:
    GwScene *scene;
    GwRectangle *sharp;

    // QUndoCommand interface
public:
    void undo();
    void redo();
};

class GWGRAPHICS_EXPORT AddDetectorCommand : public QUndoCommand
{
public:
    AddDetectorCommand(GwScene *scene);
    ~AddDetectorCommand();
private:
    GwScene *scene;
    GwDetector *sharp;

    // QUndoCommand interface
public:
    void undo();
    void redo();
};

class GWGRAPHICS_EXPORT AddStringCommand : public QUndoCommand
{
public:
    AddStringCommand(GwScene *scene);
    ~AddStringCommand();
private:
    GwScene *scene;
    GwText *txt;

    // QUndoCommand interface
public:
    void undo();
    void redo();
};

#endif // ADDROOMCOMMAND_H
